Data binding for a web-based visual representation of a structured data solution

ABSTRACT

Information from a business application system, such as an ERP system, may be published to a business application user-generated web page for display to an end user and for collecting information from an end user to make available for download into the business application system. The user-generated web page may be defined as a web-based visual representation of a structured data solution, which may define data, data presentation, and data binding metadata for enabling a solution scenario, such as vendor enrollment, sourcing, time entry, job listings, vendor-managed inventory, sales lead capture, purchase order/invoicing, service contract renewal, and customer support requests, and the like. Business application users may be enabled to connect with potential and existing customers, partners, and vendors from within the business application system via the web-based visual representation, and additionally, may capture interactions directly into the business application system without IT dependency.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims benefit under 35 U.S.C. §119(e) of U.S.Provisional Patent application Ser. No. 61/307,054 titled “Sites” andfiled on Feb. 23, 2010, and is related to U.S. patent application Ser.No. ______, Attorney Docket No. 14917.1491USU2/329331.01, titled“Web-Based Visual Representation Of A Structured Data Solution,” filedon Dec. 15, 2010, and U.S. patent application Ser. No. ______, AttorneyDocket No. 14917.1491USU3/329332.01, titled “Presentation Of A Web-BasedVisual Representation Of A Structured Data Solution,” filed on Dec. 15,2010, the entirety of each of which is incorporated by reference herein.

BACKGROUND

Small and large businesses, educational systems, leisure systems andmany other entities often operate computer-based information managementsystems that integrate many types of data across many facets ofoperation, such as, business planning, marketing and sales,manufacturing, inventory control, finance, human resources, studentrecords management, faculty and personnel management, and the like. Suchentities typically have to communicate with a variety of other entities,including sending, receiving and processing data. For example, amanufacturing business may need to communicate and pass data to and fromvendors, customers, professional services organizations, and the like.In order to pass data and information to and from such disparateentities, such a business or entity often must develop and operate anelaborate operation of communications personnel, data processors andcomputing systems for sending, receiving, entry and processing of suchinformation that is important to the operation of the business orentity.

Enterprise resource planning (ERP) is a business management system thatintegrates multiple facets of a business. Many businesses utilize anintegrated computer-based system to implement ERP in business activitiessuch as inventory control, order tracking, customer service, finance,and human resources, and the like. While ERP software systems arebecoming an integral part of how many businesses and organizationsconduct business, current ERP software systems do not provide a way forERP software systems users to connect with potential or existingcustomers, partners and vendors from within the application.

It is with respect to these and other considerations the presentinvention has been made.

SUMMARY

Embodiments of the present invention solve the above and other problemsby enabling a user of a business application (herein referred to as abusiness application user) to connect with an end user using a web pageto display information published from the business application andassociated data repositories and to collect information and make itavailable for download into the business application. A structured datasolution in the form of a grouping of metadata, referred to as asolution, defines data, data presentation, and data binding for enablinga scenario. An example solution scenario may include a web page forallowing an end user to enter purchase order data for use by amanufacturing business sales function. The data may describe types ofentities that may be published from the business application. Thepresentation metadata may define templates that describe a layout,theme, and controls that may be displayed in a page. The presentationmetadata may also define how pages may be linked together to form aseries of connected solution scenarios. The binding metadata may definethe association of data to controls. At run time, the metadata mayensure that web-based structured data solutions in the form of web pagesdisplayed to an end user conform to relationships and constraintsestablished by a structured solution file.

According to embodiments, the business application user-entered data,the data controlling the presentation of the data, and the dataassociated with binding business application user-entered data to thepresentation of the web-based structured data solution (web page) may beutilized for receiving end user-entered data from the web page and forpublishing the received end user-entered data back into the businessapplication. The storage metadata, presentation metadata, and thebinding metadata may all be structured in a way that allows a businessor organization to efficiently utilize the data received through theweb-based solution. The web-based structured data solutions may beenabled through data binding between business applications andassociated data repositories and web-based structured data solutions(web pages/sites). Data binding allows establishing relationshipsbetween the business application and associated data repositories (e.g.,ERP system). Web-based structured data solutions may be presented as webpages or sites based on the roles of end users accessing the web pagesor sites. That is, the presentation of the web pages or sites forallowing end user interaction with the business applications andassociated data may be tailored to the roles of the end users (e.g.,salespersons, purchasers, human resources managers, etc.).

The details of one or more embodiments are set forth in the accompanyingdrawings and description below. Other features and advantages will beapparent from a reading of the following detailed description and areview of the associated drawings. It is to be understood that thefollowing detailed description is explanatory only and is notrestrictive of the invention as claimed.

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the detaileddescription. This summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended asan aid in determining the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this disclosure, illustrate various embodiments of the presentinvention. In the drawings:

FIG. 1 is a simplified block diagram of a system architecture forgenerating, binding, publishing, and synchronizing a web-basedstructured data solution with a business application system.

FIG. 2 is a data model of relational data storage.

FIG. 3 is a data model of site hierarchy.

FIG. 4 is a data model of page layout.

FIG. 5 is a data model of page data binding.

FIG. 6A is simplified block diagram illustrating page workflow.

FIG. 6B is a simplified block diagram illustrating process workflow.

FIG. 7 is a more detailed simplified block diagram of the systemarchitecture of FIG. 1.

FIG. 8 is an illustration of a UI within which a business applicationuser may select a page template.

FIG. 9 is an illustration of a UI wherein a business application usermay enter page details.

FIG. 10 is an illustration of a page template within which a businessapplication user may enter data and presentation data and bind fields.

FIG. 11 is an illustration of an email containing a link to a businessapplication user-created web-based structured data solution.

FIG. 12 is an illustration of a page of a published web-based structureddata solution.

FIG. 13 is an illustration of a page of a published web-based structureddata solution within which an end user may input data which will besynchronized with a business application system.

FIG. 14 is an illustration of a UI within a business application systemshowing statuses of various solution scenarios.

FIG. 15 is a logical flow diagram illustrating a method for generating,binding, publishing, and synchronizing a web-based structured datasolution with a business application system.

FIG. 16 is a simplified block diagram of a system including a computingdevice with which embodiments of the invention may be practiced.

DETAILED DESCRIPTION

Embodiments of the present invention solve the above and other problemsby providing for information connection between businesses or otherentities and their customers, vendors or other information exchangepartners. Connection between business applications and associated datarepositories operated by the businesses or other entities and theircustomers, vendors and other information exchange partners is providedthrough web pages bound to the business applications and associated datarepositories via a distributed computing and communications system (alsoknown as the “cloud”). For example, a web page may be published withdata entry fields that are bound back to a manufacturing company datamanagement application that allows a vendor of the manufacturing companyto enter raw material supply data into the web page so that the enteredsupply data is passed directly back to the manufacturing company's datamanagement application without the need for the manufacturing company toutilize data entry personnel or to write specialized data managementcode for the example data exchange. In addition to exchange of databetween the entities, information helpful to the relationship betweenthe entities may also be exchanged such as advertising information,contact information, help content and the like.

According to one embodiment, a transformation of metadata from abusiness application and associated data repository and a visualrepresentation in the form of a published web page allows for areceiving of data collected via the published web page, and atransformation of received data back into a format for synchronizationwith the business application and associated data repository. Templatesmay be provided for creating and managing web pages and web sites withina business application system (e.g., ERP system). A business applicationuser may create such pages or sites as a landing page for a marketingcampaign, a dedicated request for quote site to receive quotes frombusiness partners, a page or site for product registration informationand customer feedback, a page or site for human resources informationfor job recruiting and/or pages or sites for communicating andconnecting with community or other end users.

Information from a business application system, such as an ERP system,may be published to a business application user-generated web page fordisplay to an end user, and for collecting information from an end userto make available for download into the business application system. Theuser-generated web page may be defined as a web-based structured datasolution, which may define data, web page presentation, and data bindingmetadata for enabling a given solution scenario. An example solutionscenario may include a web page for allowing an end user to enterpurchase order data for use by a manufacturing business sales function.The data, web page presentation, and data binding metadata may bestructured in a way that allows an organization to efficiently utilizeinformation received through the web-based structured data solution.

A business application user may enable a connected scenario on the webwithout information technology (IT) dependency. That is, the web-basedstructured data solutions may be created without the user having towrite code. Business application users may connect with potential andexisting customers, partners, and vendors from within the businessapplication system and may capture interactions directly into thebusiness application system.

According to another embodiment, the web-based structured data solutionsmay be enabled through data binding between business applications andassociated data repositories and web-based structured data solutions(web pages/sites). Data binding allows establishing relationshipsbetween the business application and associated data repositories (e.g.,ERP system) and corresponding data objects or fields in the web-basedstructured data solution. Data binding can be grouped into both instancebinding and metadata binding. Instance binding involves binding the webpage to data associated with the business application dynamically asdata associated with the business application is created or changed.Metadata binding establishes a set of relationships that dictates thebehavior of the instance binding. Metadata binding thus is targeted tothe solution developers, while the instance binding is targeted to theend users of the business application. According to embodiments, databinding also enables a synchronization interface for maintaining bindingbetween two disparate systems.

According to another embodiment, web-based structured data solutions maybe presented as web pages or sites based on the roles of end usersaccessing the web pages or sites. That is, the presentation of the webpages or sites for allowing end user interaction with the businessapplications and associated data may be tailored to the roles of the endusers (e.g., salespersons, purchasers, human resources managers, etc.).Business application (e.g., ERP systems) users often work with dataintensive user interfaces, and the information that they collect fromtheir vendors/suppliers or other partners may be a subset of the datathat they typically work with. As a result, the business applicationuser needs flexibility with respect to defining what data to display andhow to display the data to their customers, vendors, partners or thelike. Thus, users have complete control over the data to be displayedand the presentation of the data to their end users. This enablesinformation to be displayed and presented in a format that is tailoredto the end user.

For purposes of illustration, consider an example business desiring topublish a web-based page for allowing individuals to apply for aposition within the business. The organization may have data within itsbusiness application system (e.g., ERP system) associated with thespecified position, such as a job title, job description, minimumqualifications, etc. According to an embodiment of the presentinvention, a solution, such as a web-based employment application, maybe constructed by a business application user, such as a human resources(HR) agent of the organization. Selected data within the businessapplication system may be bound to the solution, such that when theemployment application web page(s) is/are published, the selected datafrom the business application system may be presented. Potentialapplicants may access the web-based employment application, view thepublished selected data from the business application system, and mayapply for the specified position online. The web-based job applicationmay be comprised of a web-based presentation that may have fields forallowing an applicant to enter specified data, such as his/her name,address, phone number, qualifications, years of experience, attach aresume, etc. The web-based job application may have a variety of imagesor other company information, such as a company logo, information aboutthe company, a link to the company's website, etc., that may be of valueto an applicant. Additionally, the web-based job application may havevarious selectable functionality controls for allowing potentialapplicants to submit entered data back to the organization or forotherwise manipulating entered data. As should be appreciated, theforegoing example is but one of a vast number of solutions for whichembodiments of the present invention may be utilized.

The following description refers to the accompanying drawings. Wheneverpossible, the same reference numbers are used in the drawings and thefollowing description to refer to the same or similar elements. Whileembodiments of the invention may be described, modifications,adaptations, and other implementations are possible. For example,substitutions, additions, or modifications may be made to the elementsillustrated in the drawings, and the methods described herein may bemodified by substituting, reordering, or adding stages to the disclosedmethods. Accordingly, the following detailed description does not limitthe invention. Instead, the proper scope of the invention is defined bythe appended claims.

Referring now to the drawings, in which like numerals represent likeelements through the several figures, aspects of the present inventionand the exemplary operating environment will be described. While theinvention will be described in the general context of program modulesthat execute in conjunction with an application program that runs on anoperating system on a personal computer, those skilled in the art willrecognize that the invention may also be implemented in combination withother program modules.

Generally, program modules include routines, programs, components, datastructures, and other types of structures that perform particular tasksor implement particular abstract data types. Moreover, those skilled inthe art will appreciate that the invention may be practiced with othercomputer system configurations, including hand-held devices,multiprocessor systems, microprocessor-based or programmable consumerelectronics, minicomputers, mainframe computers, and the like. Theinvention may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

FIG. 1 is a simplified block diagram of a system architecture withinwhich embodiments of the present invention may be implemented. Referringnow to FIG. 1, a business application 105 is illustrated. Manyorganizations and businesses integrate multiple facets of theirorganization/business into a single computer-based system, such as anenterprise resource planning (ERP) system. An organization/business mayutilize an ERP system for various business activities across the variousworkloads of a business (e.g., manufacturing, supply chain management,financials, procurement, project management, human resources, customerrelationship management, data services, access control, as well as otherbusiness activities, etc.). For example, a business application 105,such as an ERP system, may consolidate business operations of anorganization/business, such as manufacturing, supply chain management,financial systems/data, project management, human resources, customerrelationship management, data services, and access control, into auniform and enterprise-wide system environment. A business application105, such as an ERP system, may reside on a centralized server, or maybe distributed across remote processing devices that are linked througha communications network.

Organizations and businesses may connect with customers and/or otherremote entities over a distributed computing and communicationsnetwork/system, such as the Internet and/or via one or more third partyhosted services. Such third party hosted services are referred to hereinas the “cloud” 110. The cloud 110 may be generally described as a set ofservices and technologies that enable a delivery of computing servicesover the Internet. An example of a cloud services operating system isWINDOWS AZURE by MICROSOFT CORPORATION of Redmond, Wash. Businessapplications 105 may be extended from on-premise to the cloud 110.Oftentimes in the course of doing business, there may be various logicalprocesses in which communication with other entities, such as otherpeople, companies, organizations, as well as information datainterchange networks, etc., is necessary. Some of the logical processesmay start within a business application 105, but may end in the cloud110 or may be communicated through the cloud.

E-commerce is an example of a transaction that may go through one ormore intermediate companies in the cloud 110 to be completed. Forexample, a merchant may showcase a product intended to be sold on awebsite. A customer may visit the website, choose the product, and addthe product to a shopping cart. A connection to a transaction server maybe made, wherein the customer may give credit card or other paymentinformation to purchase the product. The merchant's transaction servermay connect with a third party credit card processing server to check ifthe customer has sufficient funds to pay for the purchased product. Thetransaction may be transparent to the end customer who only knows thathis/her transaction has taken place. Each of the various transactions,processing steps and data storage actions may take place at one or moreremote sites together or remote from each other where the collection ofthe remote computing activities may be referred to as existing and/oroperating in the “cloud.”

Embodiments of the present invention provide for business applicationusers 102 to enable connected solution scenarios on the web that do notrequire IT dependency. Examples of types of solution scenarios that maybe enabled include, but are not limited to, vendor enrollment, sourcing,time entry, job listings, vendor managed inventory, sales lead datacapture, purchase order/invoicing, service contract renewal, andcustomer support requests. The connected solution scenarios may enablebusiness application users 102 to connect, share, and capture businessinformation from customers, vendors, and partners. Connection andsharing may be accomplished by creation and publication of web-basedvisual representations of a structured data solution (hereafter “webpages”) 115 that publicly expose information stored and utilized by anorganization and made available via a business application 105. This maybe done by transforming metadata from a business application 105 to avisual representation (web page 115) of a structured data solution 120on the cloud 110. Information may then be captured via the web-basedvisual representation 115 of the structured data solution 120, and madesubsequently available within the business application 105 for immediateprocessing and follow ups. Referring again to the example describedabove of an online job application, the published visual representationof the structured data solution (web page) 115 would be the jobapplication web page.

According to embodiments, metadata may be required to enable a solutionscenario, such as an online job application. A structured grouping ofmetadata required for a solution scenario may be referred to as asolution 120. A solution 120 may be generally described as a packagingof declarative constructs, encompassing metadata, data, and visualelements. As a declarative statement, a solution 120 may declare aconsummation of metadata, a binding of the metadata to a visual element115, and how the data is presented as well as brought back into abusiness application system 105. A solution 120 may be comprised of datametadata 125, which is a structured description of the types of entitiesthat may be published. A solution 120 also may be comprised ofpresentation metadata 130, which may be a structured description of thepresentation of the data 125 in the form of the web page 115 and mayaddress how information may appear visually and contextually.

In addition, the solution 120 also may be comprised of data bindingmetadata 135 which may allow for establishing relationships between abusiness application system 105 (and associated data repositories) andassociated data and functionalities presented in a web page 115 via thecloud 110. Data binding 135 may include instance binding and metadatabinding. While instance binding involves binding a web page 115 tobusiness application data dynamically as data is created and/or changed,metadata binding may establish a set of relationships that may dictatethe behavior of instance binding. Metadata binding may be described asthe transformation of metadata from a business application 105 to a webpage 115 via the cloud 110, which may be described declaratively througha solution 120. The data binding metadata 135 may declare not only howdata is presented to an end user 104, but also how data is brought backinto a business application system 105.

According to embodiments, a generic framework may be utilized toimplement model-based applications on the cloud, which may satisfy threeprimary requirements of a business application using abstract models,including relational data storage, data presentation workflow, and datasynchronization with other systems 105 (e.g. backend ERP system). Eachmodel may be described using declarative metadata structures (e.g.,representational XML), wherein the metadata may be organized in layersin the form of self-contained packages, referred to as a solution 120.As illustrated in FIG. 2, the relational data storage may be expressedas an entity relationship (ER) model based on entities andrelationships, wherein certain business logic semantics may be expressedthrough implicit structural constraints (e.g., attribute constraint andfirst-order relational constraint). The relational data storage modelmay provide for storage and retrieval of binary large objects (BLOBs),which may be used for storing documents and images. The relational datastorage model may support variable length collections in attributes andrelationships.

According to embodiments, the data presentation workflow 130 may addresswhat information may be presented to an end user, as well as how theinformation appears visually and contextually. Data presentation 130 maybe comprised of four sub-areas: layout, data-binding 135, workflow, andsite hierarchy. As illustrated in FIG. 3, site hierarchy may address howinformation is organized within a context of various business flows, andmay be broken into four concepts: web page 115, page group, page type,and page template 170. According to embodiments, a web page 115 is abrowsable endpoint that may display pre-determined information and thatmay be used to collect inputs from an end user 104.

Web pages 115 are the leaves in the site hierarchy 300. A page group 310is a specific grouping of pages 115 which gives some contextual semanticto the collection. Page groups 310 may be part of other page groups,allowing a nested hierarchical structure. For example, page groups 310may be different business flow areas (e.g., procurement, marketing,etc.). A page type 315 is another grouping of pages 115 based on webpage behavior canonicalization or standardization where data that mayhave more than one possible visual representation may be standardized toon page type 315. Page types 315 may define a general presentationbehavior (e.g., a Sales Lead Capture page or a Contact Us page) and thusenforce certain design constraints. Each web page 115 may belong to oneand only one page type 315, and thus conforms to the constraints of thetype. A page template 170 is a starting point for creating a web page115. Page templates 170 may define the same presentation behavior as theweb page 115; however, they are not browsable endpoints, and may only beused while creating a new page.

Referring now to FIG. 4, the page layout 400 addresses how data ispresented inside a web page 115, and may be defined by three buildingblocks: controls, container controls, and composite controls. A control405 is a presentation entity with specific rendering anduser-interaction behavior (e.g., textbox, labels, dropdowns, etc.). Acontainer control 410 is an organized collection of child controls withvarious layouts, and a composite control 415 is a reusable presentationsegment (e.g., address block). The page layout 400 may support nestedcontainers, stack layouts 420 and grid layouts 425, and theme-basedstyling.

Referring now to FIG. 5, page data binding 135 may address what data ispresented inside a web page 115, and may be described in terms of entitydata source(s) 505, attribute binding 510, and relationship binding 515.The entity data source 505 is a page-design-time abstraction of theentity record that the web page 115 will be bound to at run-time. A webpage 115 may have more than one data source, and may form an acyclicgraph through the relationships. A data binding graph 135 may conform tothe defined entity metadata structure. Attribute binding 510 mayestablish a linkage between the controls 505 and the nodes in the datasource graph. Attribute binding 510 may specify which properties of abound record to be displayed and captured in a control 505. Relationshipbinding 515 is a relational edge between two data source nodes in thedata binding graph 135. Relationship binding 515 may define how boundrecords are related with each other. A data binding engine may load thebinding graph 135 dynamically when the web page 115 renders in aspecific binding context, and the modified part of the graph (i.e., therecords) may be committed back into the database upon user submission.

A workflow is a chain of presentation states and the controller logicgoverning transitions between the states. Workflows may be describedusing declarative structures. Workflows may be exposed in two levels ofcomplexity with shared knowledge from one to the other. A simple form ofa workflow is illustrated in FIG. 6A, and may be contained inside asingle web page 115. A web page 115 may have one or more presentationstates called views 605. Each view 605 may be defined using the layout500 and data binding 135 structures described above. A view 605 maydescribe how a web page 115 looks and what data is shown in a particularweb page state. The page controller 610 is the workflow inside the webpage 115, and may define a chaining of views 605 using an event-drivenand/or rule-based transition model.

As illustrated in FIG. 6B, a higher level and more powerful workflow isillustrated as a process 615. A process 615 may be composed of pages 115chained in a similar way as views 605 in the respective web pages 115(i.e., rule-based or event-driven). A process controller 625 is achaining logic in the process 615, and may enable advanced solutionscenarios, such as master-details navigation, portals (hub-likenavigation to multiple pages), etc.

Both page and process controllers 610,625 may expose many internaland/or external events in each state. Process internal events may bebound by components inside the process 615 (e.g., process controller625, page views 605, page controllers 610, etc.). Page internal eventsmay similarly be bound by the components inside the web page 115.External events may be bound to the outside of the process 615 or webpage 115. For example, an external event may be bound to a communicationchannel (e.g., Service Bus) to be triggered when a remote calculationcompletes and the results are made available.

Embodiments of the present invention may provide for a datasynchronization model, wherein every storage entity record may have anauto-generated version number, and any change to the record mayincrement the version number. The synchronization model may be changelist-based, wherein a list of all changes from a specified markerversion number may be provided. The model may be type-agnostic, whereinthe change list uses the metadata structure to describe the changes tothe entities. Synchronization behaviors or contracts (e.g., frequency,record selection filter, etc.) may be described to connected clientsthrough synchronization policies. A client may be required to adhere tothe synchronization policies while performing a synchronizationoperation with the platform of the present invention.

According to embodiments, bidirectional data synchronization is providedand includes conflict detection and resolution in order to keep thebackend data in the business application 105 (e.g., ERP system) and theweb page 115 published via the cloud 110 in synchronization. When datais modified in the business application 105, it may be automaticallyreceived by a synchronization channel and may be pushed out to the cloud110 and solution 120 for synchronizing the modified data with the webpage 115. In the reverse, when data is modified at the solution 120 orweb page 115, the modified data may be automatically received by asynchronization channel for synchronizing the modified data with thebusiness application 105. When the same data element is modified both inthe business application 105 and the solution 120 or web page 115, aconflict may result because it may not be possible to determine which ofthe business application or solution 120 or web page 115 is the mastersource for determining which modification should control, and thus, aconflict may result. In some cases (e.g., for certain data-types) a user102, 104 may cause automatic resolution by establishing one of the sidesas a master source of the conflicting modifications and automaticallyresolving the conflict according to the data modification of theestablished master source. In other cases, the user may check asynchronization log and resolve the conflicts manually by merging datafrom both sides appropriately. As should be appreciated, change trackingat both sides may be performed for comparing versions of data at eachside and for performing the conflict detection and resolution describedherein. In addition, users at both ends of the system, includingdevelopers of the solution 120, may be automatically notified ofmodifications and/or polled for input as to change or conflictresolution.

According to embodiments, a metadata-driven application model may beexposed. As can be appreciated, as application solution scenarios maybecome complicated, the metadata may be large. Oftentimes, solutionscenarios may be developed by various providers, but may be installedtogether to work as a single end-to-end solution. Accordingly,embodiments provide for a way to package metadata into solutions 120. Asolution package 120 may include an identity, a public contract, andmetadata. A solution 120 may have a valid identification, including aname, unique identifier, version, provider name, optional public key,and optional description.

A public contract may describe how a solution interacts with othercomponents (e.g., other solutions) in a system. A public contract mayinclude a schema contract, which may describe what other entity metadatamay be required in a data-storage model in order to make a solutionfunctional. The schema-contracts from other installed solutions 120 maybe combined by the platform, and may be propagated to thesynchronization interfaces. A solution public contract may also includea dependency contract, which may describe other solutions 120 that theparticular solution is referencing. A solution 120 may be disabled if acurrent state of a system does not satisfy its public contract. Themetadata component may contain all the metadata structures defining thepresentation components (e.g., site hierarchy 300, page templates 170,workflows, etc.) and behavior of a solution 120. The metadata may berequired to adhere to a public contract as previously declared by asolution. A solution 120 may be digitally singed by a public keyinfrastructure (PKI)-based certificate to avoid tampering and topreserve integrity. If a solution 120 is signed, the identity of thesolution may be required to include a public key of a signercertificate.

As described above, embodiments provide for a data binding abstractionplatform, wherein data from a business application system 105 may betransformed into a format utilizing a structured definition, such as anextensible markup language (XML) data structure. An XML binding schemamay interpret the data in terms of presenting the data to an end user104, so that data may be transformed from a business application system105 to a visual representation 115 on the cloud. As should beappreciated, XML is just one way of representing the transformation ofdata and metadata between a business application system 105 and thecloud 110. The transformation of data allows for binding the data ascontext, and the transformation of metadata allows for determining thetype of data that can be bound for the presentation aspects.

As described above, embodiments of the present invention provide fordata entered into a web-based visual representation of a structured datasolution 115 to be synchronized back into a business application 105.Data within an organization's business application system 105 may betransformed into a visual representation 115 within which enduser-entered data may be received and then correspondingly transformedinto a format so that the end user-entered data may be synchronized withthe business application system and utilized as needed. Data bindingmetadata 135 may define directional binding; that is, defining what datamay be incoming or outgoing, how a data graph should be populated withdata from a business application 105, as well as how populated data on aweb page 115 may go back into the data graph.

Referring now to FIG. 7, various workloads are illustrated within abusiness application system 105, such as an ERP system. A workload maybe a facet or operation of a business, such as, but not limited to,manufacturing 705, supply chain management 710, financials 715,procurement 720, project management 725, human resources 730, customerrelationship management 735, data services 740, access control 745, aswell as other business activities 750. Within each workload 705, 710,715, 720, 725, 730, 735, 740, 745, 750 various information may bestored. As should be appreciated the example business workloads are forpurposes of example only and are not limiting of the vast number oforganization functions or processes that may associated with a web basedsolution page 115 as described herein.

For example, a procurement 720 workload may comprise such data such asvendor information 755, request for quotes (RFQs) 760, purchaserequisitions 765, etc. A business application user 102, such as aprocurement agent, may wish to generate a scenario, where he/she maywish to publish a new RFQ for requests for quotes or proposals fromvarious vendors via an RFQ web page 115. As illustrated in FIG. 8,according to embodiments, various templates 170 may be provided forcreating a new page. As illustrated, a preview and description 815 ofeach provided template 170 may be displayed. A template 170 may beprovided by a solution developer such as an independent software vendor(ISV), from a software publisher, or from any user able write code togenerate a template. A page template 170 may be utilized as a startingpoint for creating a web page 115. A page template 170 may definepresentation behavior, may display predetermined information, and maycollect inputs from an end user 104. Referring back to the example, theprocurement agent may select and upload an RFQ template 170 for buildinga web-based RFQ page.

As illustrated in FIG. 9, the business application user 102 may beprompted to enter page details, such as a page name 905 and a page URL910. That is, the user 102 may use page 900, illustrated in FIG. 9, tostart the process of building a web page 115 by providing a name andpage locator for the web page 115. Referring to FIG. 10, a userinterface 1000 may be provided with which a business application user102 may declare which data associated with a business application 105 toinclude in the web page and to bind to various data elements within thepage. For example, data elements, such as the RFQ number 1005, RFQcontact 1010, RFQ submission end date 1015, delivery date 1020, anddelivery address 1025, etc., may be bound to data elements within thebusiness application/system 105.

Declared data bindings may be saved as data binding metadata 135. Datamay be transformed using a structured definition of the data (e.g., XML)from the business application system 105 to a visual representation 115on the cloud 110. As illustrated in FIG. 10, data 125, such as a companylogo, information about a company, as well as other data within acompany's database, may be bound to a web page 115. Variousfunctionalities may be provided for allowing a business application user102 to customize the presentation appearance of a web page 115. Forexample, various backgrounds, headers, footers, colors, or layoutchoices may be available from which a business application user 102 mayselect. A business application user 102 may edit data, add additionalfields to a template, as well as remove fields. Visual aspects of thepage may be saved as presentation metadata 130.

One or more end users (e.g., vendors) 104 to whom the businessapplication user 102 may want to share a web-based visual representationof a structured data solution 115 may be selected or entered. An enduser 104 may be an individual or company who may be an existing vendor,customer, applicant, or other entity whose information may already be inthe business application 105. Alternatively, a web page 115 may be sentto potential vendors, applicants, customers, or may be publishedpublicly for an undefined end user 104 to access. When a businessapplication user 102 has finished entering the data he/she wantsincluded on the page, selecting fields in the business application 105to which he/she would like to be bound to fields in the page,customizing the appearance of the page, and selecting or entering towhom he/she would like to send the visual representation 115, thesolution 120 may published to the cloud 110.

According to embodiments, a URL to the web page 115 may be generated,wherein end users 104 may access the web-based visual representation ofthe structured data solution (web page 115). As illustrated in FIG. 11,a message (e.g., email) 1100 may be sent to an end user 104, which maycontain a link 1105 to the visual representation 115.

Once a solution 120 is published, an abstract representation of datathat is bound between a business application system 105 and a web-basedstructured data solution 115 may be presented to an end user 104. Asillustrated in FIGS. 12 and 13, a web-based visual representation of thestructured data solution 115 may contain fields 1205 in which an enduser 104 may enter information. For example, as illustrated in FIG. 12,a page may contain fields in which to enter contact information 1205.Each field 1205 may be bound to a field in the business application 105.Upon submission by the end user 104, the information entered into eachfield 1205 in a web-based visual representation of the structured datasolution (web page) 115 may be published into the business application105 via data binding between the fields 1205 and associated data objectsin or associated with the business application 105. According toembodiments, as illustrated in FIG. 13, a field 1305 may be provided foruploading a document, which may be submitted to a business applicationuser 102.

As should be appreciated, a number of solutions 120 and associated webpages 115 may be developed and published for and used from a givenbusiness application 105. For example, a given business application user102 may have developed and may be running tens of web pages 115 at anygiven time covering tens of facets of his/her business or organizationworkloads and/or functions. As illustrated in FIG. 14, a user interface1400 may be provided in which a business application user 102 may viewstatuses of various solutions 120. A notification (e.g., email, pop-upmessage, etc.) may be provided when a status of a solution 120 changes.For example, if an end user 104 responds to an RFQ, a pop-up message1405 may be displayed. A business application user 102 may viewsubmitted data, and may make a status change. For example, a procurementagent may accept or reject an RFQ, or may return it and ask foradditional information. The change of status may be published to theweb-based visual representation of the structured data solution 115 sothat the end user 104 may view the status and may react accordingly.According to embodiments, presentation views may be based on a status ofthe entity. That is, presentation of a page may be designed by abusiness application user 102 so that for a given status, the page maybe presented in a specific way. For example, if an RFQ has beenaccepted, the web-based visual representation of the structured datasolution 115 may be displayed to the end user 104 with a“Congratulations!” text included.

Having described an operating architecture for and various aspects ofembodiments of the present invention, FIG. 15 is a logical flow diagramillustrating a method for providing a transformation of metadata betweena business application 105 to a web page 115 via the cloud 110, areceiving of data collected as a part of that web page, and atransformation of received data back into a format for synchronizationwith the business application.

The method 1500 starts at OPERATION 1505, and proceeds to OPERATION1510, where a request for generating a web-based structured datasolution 120 that will be presented as a web-based structured datasolution and associated web page presentation 115 is received. A requestfor generating a solution 120 may occur when a selection to enable a newscenario is made by a business application user 102. As described above,a scenario that may be enabled by a business application user 102 mayinclude, but is not limited to, vendor enrollment, sourcing, time entry,job listings, vendor managed inventory, lead capture, purchaseorder/invoicing, service contract renewal, and customer supportrequests. A variety of selectable functionalities for creating a newscenario may be provided within a UI from which a business applicationuser 102 may select.

Upon receiving a request to create a new scenario, at OPERATION 1515,one or more templates 170 may be provided for generating a web-basedstructured data solution 120. Using a selected template, a developer ofthe web-based structured data solution may identify one or more datatypes (e.g., name, education, experience data types for an employmentapplication solution) associated with the business application whereeach of the one or more data types will be associated with an end userinput data type. Identifying one or more data types associated with thebusiness application may include identifying one or more data types forwhich data is required in association with a designated structured datasolution, for example, an employment application structured datasolution.

As described above, a template 170 may be defined by presentationmetadata 130. A template may provide a set of data, semantics, forexample textual statements (e.g., “Enter Your Name Here”), and visualelements that a business application user 102 may manipulate. Varioustemplates 170 may be provided for various solution scenarios. Forexample, referring back to FIG. 8, a page type may be selected based ona scenario for which a business application user 102 may be creating. Asillustrated in FIG. 8, the business application user 102 has selected tocreate a new vendor request for quote 305. Accordingly, various template170 selections are provided to the user 102 from which to choose. Animage and description 815 of provided templates 170 may be displayed tohelp the user 102 select a desired template.

Upon selection of a template 170, the method 1500 proceeds to OPERATION1520, where business application user-entered data 125, presentationdata 130, data-binding data 135 is received. The one or more data typesidentified by the developer of the solution may be associated withcorresponding one or more data fields in a web-based structured datasolution template so that data entered into any of the one or more datafields in a displayed form of the web-based structured data solutionwill be associated with corresponding one or more identified data typesassociated with the business application. Association of the identifiedone or more data types with corresponding one or more data fields in aweb-based structured data solution template may include receiving theassociation of the one or more data types with corresponding one or moredata fields in a web-based structured data solution template so thatdata entered into any of the one or more data fields may be received bythe business application and may be integrated with the businessapplication in association with the one or more identified data types.

According to embodiments, a data field may appear inside a repeater or agrid. Accordingly, the data field may be replicated multiple times on aweb page presentation depending on the actual number of data entities towhich it may be bound. That is, data may be shown to the end user 104via the web page 115 in a tabular format which binds to a collection ofsame type of records in the business application 105 instead of just onerecord. An example would be a web page to show all the job listings in acompany job site. The binding may be described for a repeater in termsof a template row which contains a representative set of controls andtheir respective bindings to the fields of a backend data entity. Duringruntime, a determination may be made as to how many instances of thedata entity are to be loaded on the web page. Based on thatdetermination, a table may be generated with each row of the tablerepresenting one data entity instance.

Information specified in the template 170 may be customized and edited.Fields may be added, deleted, or modified according to the businessapplication user's 102 needs. Data elements may be selected, and bindingdata 135 may be defined by the user 102. Various fields may be definedfor receiving information from an end user 104. According to embodimentsthe template 170 associated with the designated web-based structureddata solution may have one or more fields for associating with the oneor more identified data types associated with the business application.The template may have one or more visual elements to be displayed in adisplayed form of the web page 115 presentation. Additionally, thetemplate may have one or more textural semantics (e.g., “Enter EducationInformation Here”) for aiding an end user of a displayed form of the webpage presentation to provide end user data to the structured datasolution for one or more of the identified one or more data types. Thetemplate 170 may also provide a visual image of the template to allow adeveloper of the web-based structured data solution to preview how adisplayed form of the web page presentation will be presented whendisplayed to one or more end users. A simplistic UI may be provided forpage creation so that business application users 102 may createstructured data solutions 120 quickly and easily.

A business application user 102 may declare which data elements fromwithin a business application 105 he/she would like to bind to elementswithin the web-based visual representation of the structured datasolution 120. Embodiments of the present invention provide fordeclarations to be made by a business application user 102, without thebusiness application user understanding how to write code. The user 102may declare which elements to bind, and may declare how he/she wouldlike to be presented.

According to embodiments, the data binding process may includegenerating an instance of the web-based structured data solution andbinding the instance of the web-based structured data solution to theassociated business application so that any changes to any of the one ormore identified data types associated with the business application arereflected in corresponding one or more data fields in the instance ofthe web-based structured data solution. One or more relationships may begenerated between each of the one or more data fields in the instance ofthe web-based structured data solution and corresponding data types inthe associated business application for causing a reflection of anychanges to any of the one or more identified data types associated withthe business application in corresponding one or more data fields in theinstance of the web-based structured data solution. A metadata may beassociated with the one or more relationships between each of the one ormore data fields in the instance of the web-based structured datasolution and corresponding data types in the associated businessapplication for binding the one or more relationships between theinstance of the web-based structured data solution and correspondingdata types in the associated business application.

In addition, a transformation of data received via the instance of theweb-based structured data solution may be performed from a first formassociated with the instance of the web-based structured data solutionto a second form associated with the business application. For exampledata received via the web page 115 may be received according to oneformat or structuring language (e.g., HTML), but the data may need to betransformed to another format or structuring language (e.g., XML) foruse by the associated business application. The establishedtransformation may be described with a transformation metadata, and thetransformation metadata may be bound to the associated businessapplication for dictating the transformation of data received via theinstance of the web-based structured data solution from a first formassociated with the instance of the web-based structured data solutionto a second form associated with the business application.

A data binding metadata may be associated with the web-based structureddata solution for declaring how a displayed form of the web-basedstructured data solution (i.e., a web page 115) will be presented to anend user. A data binding metadata may also be associated with theweb-based structured data solution for declaring how data entered intoany of the one or more data fields in the instance of the web-basedstructured data solution is transported to the associated businessapplication.

Upon receiving a request from the business application user 102 topublish the structured data solution 120 at OPERATION 1525, the method1500 proceeds to OPERATION 1530, a web-based structured data solution isgenerated where relationships and constraints defined by the structuredsolution file 120 are established, data are transformed from thebusiness application system 105 and are bound according to defineddeclarations and presentation metadata 130, and are displayed as aweb-based visual representation of a structured data solution in theform of a web page 115 to an end user 104. Generating the web-basedstructured data solution may include generating the designatedstructured data solution such that data may be received for each of theidentified data types, and generating the designated structured datasolution may be performed at a computing system remote from the businessapplication (e.g., the cloud 110) for allowing one or more end users toaccess the generated designated structured data solution via the remotecomputing system

At OPERATION 1530, end user-entered data, such as one or more dataentries entered into one or more data fields in the web page 115, may bereceived via the web page 115. As was illustrated in FIGS. 12 and 13,various fields may be provided to receive end user-entered data.

At OPERATION 1535, end user-entered data may be passed to the businessapplication and stored in association with corresponding data typesassociated with the business application. That is the user-entered datamay be synchronized with the business application system 105 as definedby binding metadata 135. The end user-entered data may be transformed sothat the data may be utilized and uploaded to the business applicationsystem 105 and utilized as needed by the associated organization. Aschanges or updates are made by a business application user 102, the webpage presentation 115 may be republished reflecting the changes orupdates. A notification of a change or update to a solution scenario maybe provided to business application users 102 and/or end users 104.Thus, the web page 115 may be utilized as a communication portal bywhich a business application user 102 and an end user 104 may receiveand transmit business data.

Embodiments of the invention as described above may be implemented vialocal and remote computing and data storage systems, including thesystems illustrated and described with reference to FIG. 1. Consistentwith embodiments of the invention, the aforementioned memory storage andprocessing unit may be implemented in a computing device, such ascomputing device 1600 of FIG. 16. Any suitable combination of hardware,software, or firmware may be used to implement the memory storage andprocessing unit. For example, the memory storage and processing unit maybe implemented with computing device 1600 or any other computing devices1618, in combination with computing device 1600, wherein functionalitymay be brought together over a network in a distributed computingenvironment, for example, an intranet or the Internet, to perform thefunctions as described herein. The aforementioned system, device, andprocessors are examples and other systems, devices, and processors maycomprise the aforementioned memory storage and processing unit,consistent with embodiments of the invention. Furthermore, computingdevice 1600 may comprise operating environment 100 as described above.Operating environment 100 is not limited to computing device 1600.

With reference to FIG. 16, a system consistent with embodiments of theinvention may include a computing device, such as computing device 1600.In a basic configuration, computing device 1600 may include at least oneprocessing unit 1602 and a system memory 1604. Depending on theconfiguration and type of computing device, system memory 1604 maycomprise, but is not limited to, volatile (e.g. random access memory(RAM)), non-volatile (e.g. read-only memory (ROM)), flash memory, or anycombination. System memory 1604 may include operating system 1605, oneor more programming modules 1606, and may include a business applicationsystem 105, wherein the business application system is a softwareapplication having sufficient computer-executable instructions, whichwhen executed, performs functionalities as described herein. Operatingsystem 1605, for example, may be suitable for controlling computingdevice 1600's operation. Furthermore, embodiments of the invention maybe practiced in conjunction with a graphics library, other operatingsystems, or any other application program and is not limited to anyparticular application or system. This basic configuration isillustrated in FIG. 16 by those components within a dashed line 1608.

Computing device 1600 may have additional features or functionality. Forexample, computing device 1600 may also include additional data storagedevices (removable and/or non-removable) such as, for example, magneticdisks, optical disks, or tape. Such additional storage is illustrated inFIG. 16 by a removable storage 1609 and a non-removable storage 1610.Computing device 1600 may also contain a communication connection 1616that may allow device 1600 to communicate with other computing devices1618, such as over a network in a distributed computing environment, forexample, an intranet or the Internet. Communication connection 1616 isone example of communication media.

As stated above, a number of program modules and data files may bestored in system memory 1604, including operating system 1605. Whileexecuting on processing unit 1602, programming modules 1606 may includethe business application system 105, wherein the business applicationsystem may contain sufficient computer-executable instructions, whichwhen executed, perform functionalities as described herein. Theaforementioned process is an example, and processing unit 1602 mayperform other processes. Other programming modules that may be used inaccordance with embodiments of the present invention may includeelectronic mail and contacts applications, word processing applications,spreadsheet applications, database applications, slide presentationapplications, drawing or computer-aided application programs, etc.

Generally, consistent with embodiments of the invention, program modulesmay include routines, programs, components, data structures, and othertypes of structures that may perform particular tasks or that mayimplement particular abstract data types. Moreover, embodiments of theinvention may be practiced with other computer system configurations,including hand-held devices, multiprocessor systems,microprocessor-based or programmable consumer electronics,minicomputers, mainframe computers, and the like. Embodiments of theinvention may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotememory storage devices.

Furthermore, embodiments of the invention may be practiced in anelectrical circuit comprising discrete electronic elements, packaged orintegrated electronic chips containing logic gates, a circuit utilizinga microprocessor, or on a single chip containing electronic elements ormicroprocessors. Embodiments of the invention may also be practicedusing other technologies capable of performing logical operations suchas, for example, AND, OR, and NOT, including but not limited tomechanical, optical, fluidic, and quantum technologies. In addition,embodiments of the invention may be practiced within a general purposecomputer or in any other circuits or systems.

Embodiments of the invention, for example, may be implemented as acomputer process (method), a computing system, or as an article ofmanufacture, such as a computer program product or computer readablemedia. The computer program product may be a computer storage mediareadable by a computer system and encoding a computer program ofinstructions for executing a computer process. Accordingly, the presentinvention may be embodied in hardware and/or in software (includingfirmware, resident software, micro-code, etc.). In other words,embodiments of the present invention may take the form of a computerprogram product on a computer-usable or computer-readable storage mediumhaving computer-usable or computer-readable program code embodied in themedium for use by or in connection with an instruction execution system.A computer-usable or computer-readable medium may be any medium that cancontain, store, communicate, propagate, or transport the program for useby or in connection with the instruction execution system, apparatus, ordevice.

The term computer readable media as used herein may include computerstorage media. Computer storage media may include volatile andnonvolatile, removable and non-removable media implemented in any methodor technology for storage of information, such as computer readableinstructions, data structures, program modules, or other data. Systemmemory 1604, removable storage 1609, and non-removable storage 1610 areall computer storage media examples (i.e., memory storage.) Computerstorage media may include, but is not limited to, RAM, ROM, electricallyerasable read-only memory (EEPROM), flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore information and which can be accessed by computing device 1600.Any such computer storage media may be part of device 1600. Computingdevice 1600 may also have input device(s) 1612 such as a keyboard, amouse, a pen, a sound input device, a touch input device, etc. Outputdevice(s) 1614 such as a display, speakers, a printer, etc. may also beincluded. The aforementioned devices are examples and others may beused.

The term computer readable media as used herein may also includecommunication media. Communication media may be embodied by computerreadable instructions, data structures, program modules, or other datain a modulated data signal, such as a carrier wave or other transportmechanism, and includes any information delivery media. The term“modulated data signal” may describe a signal that has one or morecharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia may include wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, radio frequency (RF),infrared, and other wireless media.

Embodiments of the present invention, for example, are described abovewith reference to block diagrams and/or operational illustrations ofmethods, systems, and computer program products according to embodimentsof the invention. The functions/acts noted in the blocks may occur outof the order as illustrated in any flowchart. For example, two blocksillustrated in succession may in fact be executed substantiallyconcurrently or the blocks may sometimes be executed in the reverseorder, depending upon the functionality/acts involved.

While certain embodiments of the invention have been described, otherembodiments may exist. Furthermore, although embodiments of the presentinvention have been described as being associated with data stored inmemory and other storage mediums, data can also be stored on or readfrom other types of computer-readable media, such as secondary storagedevices, like hard disks, floppy disks, or a CD-ROM, a carrier wave fromthe Internet, or other forms of RAM or ROM. Further, the disclosedmethods' stages may be modified in any manner, including by reorderingstages and/or inserting or deleting stages, without departing from theinvention.

All rights including copyrights in the code included herein are vestedin and the property of the Applicant. The Applicant retains and reservesall rights in the code included herein, and grants permission toreproduce the material only in connection with reproduction of thegranted patent and for no other purpose.

While the specification includes examples, the invention's scope isindicated by the following claims. Furthermore, while the specificationhas been described in language specific to structural features and/ormethodological acts, the claims are not limited to the features or actsdescribed above. Rather, the specific features and acts described aboveare disclosed as example for embodiments of the invention.

1. A method of communicating data between a business application and an associated web-based structured data solution; comprising: receiving a request for generating a web-based structured data solution with which data may be communicated to a business application from a remote end user; identifying one or more data types associated with the business application, each of the one or more data types being associated with an end user input data type; receiving an association of the identified one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields in a displayed form of the web-based structured data solution will be associated with corresponding one or more identified data types associated with the business application; and generating an instance of the web-based structured data solution and binding the instance of the web-based structured data solution to the associated business application so that any changes to any of the one or more identified data types associated with the business application are reflected in corresponding one or more data fields in the instance of the web-based structured data solution.
 2. The method of claim 1, further comprises receiving the association of the identified one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields may be received by the business application and may be integrated with the business application in association with the one or more identified data types.
 3. The method of claim 1, further comprising generating one or more relationships between each of the one or more data fields in the instance of the web-based structured data solution and corresponding data types in the associated business application for causing a reflection of any changes to any of the one or more identified data types associated with the business application in corresponding one or more data fields in the instance of the web-based structured data solution.
 4. The method of claim 3, further comprising associating a metadata with the one or more relationships between each of the one or more data fields in the instance of the web-based structured data solution and corresponding data types in the associated business application for binding the one or more relationships between the instance of the web-based structured data solution and corresponding data types in the associated business application.
 5. The method of claim 4, further comprising establishing a transformation of data received via the instance of the web-based structured data solution from a first form associated with the instance of the web-based structured data solution to a second form associated with the business application.
 6. The method of claim 5, further comprising describing the established transformation with a transformation metadata and binding the transformation metadata to the associated business application for dictating the transformation of data received via the instance of the web-based structured data solution from a first form associated with the instance of the web-based structured data solution to a second form associated with the business application.
 7. The method of claim 6, further comprising applying a data binding metadata to the web-based structured data solution for declaring how a displayed form of the web-based structured data solution will be presented to an end user.
 8. The method of claim 7, further comprising applying a data binding metadata to the web-based structured data solution for declaring how data entered into any of the one or more data fields in the instance of the web-based structured data solution is transported to the associated business application.
 9. The method of claim 8, further comprising generating a web-based presentation of the web-based structured data solution for presenting to one or more end users via a web page.
 10. The method of claim 1, wherein identifying one or more data types associated with the business application, each of the one or more data types being associated with an end user input data type includes identifying one or more data types for which data is required in association with a designated solution.
 11. The method of claim 10, further comprising generating the designated solution such that the data may be received for each of the identified data types.
 12. The method of claim 11, further comprising generating the designated solution at a computing system remote from the business application for allowing one or more end users to access the generated designated solution via the remote computing system.
 13. A computer readable medium having computer executable instructions which when executed by a computer perform a method of communicating data between a business application and an associated web-based structured data solution; comprising: receiving a request for generating a web-based structured data solution with which data may be communicated to a business application from a remote end user; identifying one or more data types associated with the business application, each of the one or more data types being associated with an end user input data type; receiving an association of the identified one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields in a displayed form of the web-based structured data solution will be associated with corresponding one or more identified data types associated with the business application; generating an instance of the web-based structured data solution and binding the instance of the web-based structured data solution to the associated business application so that any changes to any of the one or more identified data types associated with the business application are reflected in corresponding one or more data fields in the instance of the web-based structured data solution; and generating one or more relationships between each of the one or more data fields in the instance of the web-based structured data solution and corresponding data types in the associated business application for causing a reflection of any changes to any of the one or more identified data types associated with the business application in corresponding one or more data fields in the instance of the web-based structured data solution.
 14. The computer readable medium of claim 13, further comprising receiving the association of the identified one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields may be received by the business application and may be integrated with the business application in association with the one or more identified data types.
 15. The computer readable medium of claim 14, further comprising associating a metadata with the one or more relationships between each of the one or more data fields in the instance of the web-based structured data solution and corresponding data types in the associated business application for binding the one or more relationships between the instance of the web-based structured data solution and corresponding data types in the associated business application.
 16. The computer readable medium of claim 15, further comprising establishing a transformation of data received via the instance of the web-based structured data solution from a first form associated with the instance of the web-based structured data solution to a second form associated with the business application; and describing the established transformation with a transformation metadata and binding the transformation metadata to the associated business application for dictating the transformation of data received via the instance of the web-based structured data solution from a first form associated with the instance of the web-based structured data solution to a second form associated with the business application.
 17. The computer readable medium of claim 16, further comprising applying a data binding metadata to the web-based structured data solution for declaring how a displayed form of the web-based structured data solution will be presented to an end user; and applying a data binding metadata to the web-based structured data solution for declaring how data entered into any of the one or more data fields in the instance of the web-based structured data solution is transported to the associated business application.
 18. The computer readable medium of claim 13, further comprising generating a web-based presentation of the web-based structured data solution for presenting to one or more end users via a web page.
 19. A system of communicating data between a business application and an associated web-based structured data solution; comprising: a distributed cloud computing system operative to receive a request for generating a web-based structured data solution with which data may be communicated to an enterprise resource planning application from a remote end user; to identify one or more data types associated with the enterprise resource planning application, each of the one or more data types being associated with an end user input data type; to receive an association of the identified one or more data types with corresponding one or more data fields in a web-based structured data solution template so that data entered into any of the one or more data fields in a displayed form of the web-based structured data solution will be associated with corresponding one or more identified data types associated with the enterprise resource planning application; to generate an instance of the web-based structured data solution and binding the instance of the web-based structured data solution to the associated enterprise resource planning application so that any changes to any of the one or more identified data types associated with the enterprise resource planning application are reflected in corresponding one or more data fields in the instance of the web-based structured data solution; and to generate one or more relationships between each of the one or more data fields in the instance of the web-based structured data solution and corresponding data types in the associated enterprise resource planning application for causing a reflection of any changes to any of the one or more identified data types associated with the enterprise resource planning application in corresponding one or more data fields in the instance of the web-based structured data solution.
 20. The system of claim 19, the distributed cloud computing system being further operative to establish a transformation of data received via the instance of the web-based structured data solution from a first form associated with the instance of the web-based structured data solution to a second form associated with the business application; to describe the established transformation with a transformation metadata and binding the transformation metadata to the associated business application for dictating the transformation of data received via the instance of the web-based structured data solution from a first form associated with the instance of the web-based structured data solution to a second form associated with the business application; to apply a data binding metadata to the web-based structured data solution for declaring how a displayed form of the web-based structured data solution will be presented to an end user; and to apply data binding metadata to the web-based structured data solution for declaring how data entered into any of the one or more data fields in the instance of the web-based structured data solution is transported to the associated business application. 